package com.cyt.sys.service;

import com.cyt.base.model.dto.ReturnResult;
import com.cyt.sys.model.po.SysNotice;
import com.cyt.sys.model.po.SysUser;
import com.cyt.sys.model.vo.SysNoticeVo;

/**
 * 通知公告-通知公告Service层接口类
 *
 * @author rong yuan
 * @date 2019-8-16 15:19:42
 */
public interface SysNoticeService extends BaseService<SysNotice> {

    /**
     * 分页查询
     *
     * @param sysNoticeVo 接受参数对象
     * @param pageNum     分页数
     * @param pageSize    每页显示条数
     * @return ReturnResult
     * @author rong yuan
     * @date 2019-8-16 15:19:42
     */
    ReturnResult page(SysNoticeVo sysNoticeVo, int pageNum, int pageSize);

    /**
     * 添加或更新
     *
     * @param sysNoticeVo 参数接受对象
     * @param sysUser     当前用户
     * @return ReturnResult
     * @author rong yuan
     * @date 2019-8-16 15:19:42
     */
    ReturnResult addOrUpdate(SysNoticeVo sysNoticeVo, SysUser sysUser);

    /**
     * 根据条件逻辑删除
     *
     * @param sysNoticeVo 参数接受对象
     * @param sysUser     当前用户
     * @return ReturnResult
     * @author rong yuan
     * @date 2019-8-16 15:19:42
     */
    ReturnResult remove(SysNoticeVo sysNoticeVo, SysUser sysUser);

    /**
     * 根据条件物理删除
     *
     * @param sysNoticeVo 参数接受对象
     * @param sysUser     当前用户
     * @return ReturnResult
     * @author rong yuan
     * @date 2019-8-16 15:19:42
     */
    ReturnResult delete(SysNoticeVo sysNoticeVo, SysUser sysUser);
}